package com.ding.dailyup.model;

import javax.persistence.*;
import java.io.Serializable;
import java.time.LocalDateTime;
import static javax.persistence.GenerationType.IDENTITY;
import org.hibernate.annotations.DynamicInsert;

@Entity
@DynamicInsert
@Table(name = "strategy_application")
public class StrategyApplication implements Serializable {
	public static final long serialVersionUID = 378952179404159123L;
	private Long id;
	private String strategyName;
	private String strategyContext;
	private Double reward;
	private Integer runType;
	private String wxId;
	private Long userId;
	private String strategyRemark;
	private LocalDateTime createTime;
	private LocalDateTime updateTime;

	public StrategyApplication() {
	}

	public StrategyApplication(String strategyName, String strategyContext,
			Double reward, Integer runType, String wxId, Long userId,
			String strategyRemark, LocalDateTime createTime,
			LocalDateTime updateTime) {
		this.strategyName = strategyName;
		this.strategyContext = strategyContext;
		this.reward = reward;
		this.runType = runType;
		this.wxId = wxId;
		this.userId = userId;
		this.strategyRemark = strategyRemark;
		this.createTime = createTime;
		this.updateTime = updateTime;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "id")
	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	@Column(name = "strategyName")
	public String getStrategyName() {
		return strategyName;
	}

	public void setStrategyName(String strategyName) {
		this.strategyName = strategyName;
	}

	@Column(name = "strategyContext")
	public String getStrategyContext() {
		return strategyContext;
	}

	public void setStrategyContext(String strategyContext) {
		this.strategyContext = strategyContext;
	}

	@Column(name = "reward")
	public Double getReward() {
		return reward;
	}

	public void setReward(Double reward) {
		this.reward = reward;
	}

	@Column(name = "runType")
	public Integer getRunType() {
		return runType;
	}

	public void setRunType(Integer runType) {
		this.runType = runType;
	}

	@Column(name = "wxId")
	public String getWxId() {
		return wxId;
	}

	public void setWxId(String wxId) {
		this.wxId = wxId;
	}

	@Column(name = "userId")
	public Long getUserId() {
		return userId;
	}

	public void setUserId(Long userId) {
		this.userId = userId;
	}

	@Column(name = "strategyRemark")
	public String getStrategyRemark() {
		return strategyRemark;
	}

	public void setStrategyRemark(String strategyRemark) {
		this.strategyRemark = strategyRemark;
	}

	@Column(name = "createTime")
	public LocalDateTime getCreateTime() {
		return createTime;
	}

	public void setCreateTime(LocalDateTime createTime) {
		this.createTime = createTime;
	}

	@Column(name = "updateTime")
	public LocalDateTime getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(LocalDateTime updateTime) {
		this.updateTime = updateTime;
	}

}